package cn.nbt.busManage.service;

import cn.nbt.busManage.model.dto.BusDto;
import cn.nbt.busManage.model.entity.Bus;
import cn.nbt.busManage.model.entity.Point;

import java.util.List;

public interface BusService {
    void save(BusDto busDto);

    /**
     * 查询所有车辆
     * @return 车辆信息
     */
    List<BusDto> findAll();

    /**
     * 根据id查询车辆
     * @param id 车辆id
     * @return 车辆信息
     */
    BusDto findById(int id);

    /**
     * 更新车辆信息
     * @param busDto 车辆信息
     */
    void update(BusDto busDto);

    /**
     * 删除车辆
     * @param id 车辆id
     */
    void delete(int id);

    /**
     * 根据车牌号查询车辆
     * @param licensePlate 车牌号
     * @return 车辆信息
     */
    BusDto findByLicensePlate(String licensePlate);

    /**
     * 根据站点查询车辆
     * @param pointName 站点
     * @return 车辆信息
     */
    List<BusDto> findByPoint(String pointName);

    /**
     * 根据查询条件查询车辆
     * @param query 查询条件
     * @return 车辆信息
     */
//    List<BusDto> findByQuery(String query);

    /**
     * 根据车牌号查询车辆
     * @param licensePlate 车牌号
     * @return 车辆信息
     */
    boolean ifFindByLicensePlate(String licensePlate);
}
